package edu.eam.proyectodesarrollojpa.entidades;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
/**
 * The persistent class for the TENE_PAIS database table.
 * 
 */
@Entity
@Table(name = "TEMAS_LINEA_INVESTIGACION")
public class TemasLinea implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@SequenceGenerator(allocationSize = 1, name = "TEMAS_LINEA_INVESTIGACION_IDTEMA_GENERATOR", sequenceName = "SEC_TEMAS_LINEA_INVESTIGACION")
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "TEMAS_LINEA_INVESTIGACION_IDTEMA_GENERATOR")
	@Column(name = "IDTEMA")
	private Long idTema;
	
	@Column(name = "DESCRIPCION_TEMA")
	private String descripcion;
	
	// uni-directional many-to-one association to TipoAlternativaInversion
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "LINEA_INVESTIGACION_TEMA")
	private LineaInvestigacion lineaInvestigacion;


	public TemasLinea() {
	}


	/**
	 * Metodo encargado de retornar el valor del atributo idTema
	 * @return El idTema asociado a la clase
	 */
	public Long getIdTema() {
		return idTema;
	}


	/**
	 * Metodo encargado de modificar el valor del atributo idTema
	 * @param idTema El nuevo idTema a modificar.
	 */
	public void setIdTema(Long idTema) {
		this.idTema = idTema;
	}


	/**
	 * Metodo encargado de retornar el valor del atributo descripcion
	 * @return El descripcion asociado a la clase
	 */
	public String getDescripcion() {
		return descripcion;
	}


	/**
	 * Metodo encargado de modificar el valor del atributo descripcion
	 * @param descripcion El nuevo descripcion a modificar.
	 */
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}


	/**
	 * Metodo encargado de retornar el valor del atributo lineaInvestigacion
	 * @return El lineaInvestigacion asociado a la clase
	 */
	public LineaInvestigacion getLineaInvestigacion() {
		return lineaInvestigacion;
	}


	/**
	 * Metodo encargado de modificar el valor del atributo lineaInvestigacion
	 * @param lineaInvestigacion El nuevo lineaInvestigacion a modificar.
	 */
	public void setLineaInvestigacion(LineaInvestigacion lineaInvestigacion) {
		this.lineaInvestigacion = lineaInvestigacion;
	}


	
	
	
	
}